# Copyright (c) 2008, Luke Freeman
# All rights reserved.

# Redistribution and use in source and binary forms, with or without modification, 
# are permitted provided that the following conditions are met:
#
#    * Redistributions of source code must retain the above copyright notice, this 
#      list of conditions and the following disclaimer.
#    * Redistributions in binary form must reproduce the above copyright notice, this 
#      list of conditions and the following disclaimer in the documentation and/or 
#      other materials provided with the distribution.
#    * Neither the name of Flag-Up nor the names of its contributors may 
#      be used to endorse or promote products derived from this software without specific 
#      prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS 
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
# POSSIBILITY OF SUCH DAMAGE.
  
import pygtk
import gtk, gtk.glade
  
class Util:

    def new_treeview_column(tree_view, cell_renderer, column_title):

        column_id = len(tree_view.get_columns())        

        column = gtk.TreeViewColumn(column_title, cell_renderer, text=column_id)
        if isinstance(cell_renderer, gtk.CellRendererToggle):
            column = gtk.TreeViewColumn(column_title, cell_renderer, active=column_id)
        elif isinstance(cell_renderer, gtk.CellRendererPixbuf):
            column = gtk.TreeViewColumn(column_title, cell_renderer, pixbuf=column_id)

        column.set_resizable(True)
        column.set_sort_column_id(column_id)

        return column
        
    new_treeview_column = staticmethod(new_treeview_column)

    
    

